<html>
<head><meta charset="utf-8"><title>Removing delayed literals · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html">Removing delayed literals</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="179366203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366203">(Oct 29 2019 at 19:38)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> If you're around and want to talk about <a href="https://github.com/rust-lang/chalk/pull/270" target="_blank" title="https://github.com/rust-lang/chalk/pull/270">https://github.com/rust-lang/chalk/pull/270</a>, I'm here</p>



<a name="179366209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366209">(Oct 29 2019 at 19:38)</a>:</h4>
<p>I'm around-ish</p>



<a name="179366218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366218">(Oct 29 2019 at 19:38)</a>:</h4>
<p>np</p>



<a name="179366223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366223">(Oct 29 2019 at 19:38)</a>:</h4>
<p>going to be doing some reviewing, I think</p>



<a name="179366248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366248">(Oct 29 2019 at 19:39)</a>:</h4>
<p>I might try later tonight to see if I can try to remove that branch entirely</p>



<a name="179366272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366272">(Oct 29 2019 at 19:39)</a>:</h4>
<p>but it'll require changes elsewhere</p>



<a name="179366470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366470">(Oct 29 2019 at 19:41)</a>:</h4>
<p>Basically, what I changed it to is that now when a cycle is detected, it's all the strands are marked as ambiguous. But I think for the majority of tests (since most aren't), a non-ambiguous answer is later found. But I need to double check this</p>



<a name="179366544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366544">(Oct 29 2019 at 19:41)</a>:</h4>
<p>I'm also thinking that a lot of this is probably occuring when <code>checked_program</code> is called, rather than actually trying to solve the test</p>



<a name="179366599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366599">(Oct 29 2019 at 19:42)</a>:</h4>
<p>The test goal(s), that is</p>



<a name="179366723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366723">(Oct 29 2019 at 19:43)</a>:</h4>
<p>Do you know if the delaying code is ever running?</p>



<a name="179366757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366757">(Oct 29 2019 at 19:44)</a>:</h4>
<p>I think it is not, apart from some specific tests in SLG</p>



<a name="179366803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366803">(Oct 29 2019 at 19:44)</a>:</h4>
<p>(I think that code path doesn't just trigger for cycles, it has to be a <em>negative</em> cycle, and there has to be no other strand that can obtain an answer)</p>



<a name="179366830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366830">(Oct 29 2019 at 19:44)</a>:</h4>
<p>The specific branch that you commented does get triggered for 99/146 tests</p>



<a name="179366834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366834">(Oct 29 2019 at 19:45)</a>:</h4>
<p>hmm</p>



<a name="179366854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366854">(Oct 29 2019 at 19:45)</a>:</h4>
<p>that's interesting :)</p>



<a name="179366864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366864">(Oct 29 2019 at 19:45)</a>:</h4>
<p>maybe I'll check it out and see what I'm missing</p>



<a name="179366905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366905">(Oct 29 2019 at 19:45)</a>:</h4>
<p>I don't think there was code to actually resolve the delayed_literals though? (maybe I'm misremembering) (I think that was issue <a href="https://github.com/rust-lang/rust/issues/79" target="_blank" title="https://github.com/rust-lang/rust/issues/79">#79</a>)</p>



<a name="179366973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366973">(Oct 29 2019 at 19:46)</a>:</h4>
<p>we don't currently have code to "undelay" literals, right</p>



<a name="179366985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179366985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179366985">(Oct 29 2019 at 19:46)</a>:</h4>
<p>but you are correct that it triggers much more frequently than I realized!</p>



<a name="179367042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367042">(Oct 29 2019 at 19:47)</a>:</h4>
<p>and indeed the errors are part of WF</p>



<a name="179367061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367061">(Oct 29 2019 at 19:47)</a>:</h4>
<p>presumably as part of coherence logic, which uses negative reasoning, but maybe not</p>



<a name="179367178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367178">(Oct 29 2019 at 19:48)</a>:</h4>
<p>OH</p>



<a name="179367191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367191">(Oct 29 2019 at 19:48)</a>:</h4>
<p>I think it may be tied to the "CannotProve" goal?</p>



<a name="179367264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367264">(Oct 29 2019 at 19:49)</a>:</h4>
<p>What is that used for again? Is it needed?</p>



<a name="179367348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367348">(Oct 29 2019 at 19:50)</a>:</h4>
<p>Yes, we need it, but that's ok</p>



<a name="179367372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367372">(Oct 29 2019 at 19:51)</a>:</h4>
<p>What I mean is</p>



<a name="179367387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367387">(Oct 29 2019 at 19:51)</a>:</h4>
<p>we are still going to need the notion of "ambiguous strands" that you added</p>



<a name="179367400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367400">(Oct 29 2019 at 19:51)</a>:</h4>
<p>and I expected to use them for CannotProve</p>



<a name="179367421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367421">(Oct 29 2019 at 19:51)</a>:</h4>
<p>we basically use it (in coherence) to force some answers into "unknown" territory</p>



<a name="179367470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367470">(Oct 29 2019 at 19:52)</a>:</h4>
<p>however</p>



<a name="179367476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367476">(Oct 29 2019 at 19:52)</a>:</h4>
<p>it looks like the way I <em>implemented</em> <code>CannotProve</code></p>



<a name="179367493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367493">(Oct 29 2019 at 19:52)</a>:</h4>
<p>was to make it so that the only way to prove <code>CannotProve</code> was to prove <code>not { CannotProve }</code>, thus (intentionally) inducing a little cycle</p>



<a name="179367497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367497">(Oct 29 2019 at 19:52)</a>:</h4>
<p>you can see this in <code>src/simplify.rs</code></p>



<a name="179367502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367502">(Oct 29 2019 at 19:52)</a>:</h4>
<p>we can presumably implement it a bit more directly</p>



<a name="179367517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367517">(Oct 29 2019 at 19:53)</a>:</h4>
<p>Right, I remember this bit of code</p>



<a name="179367623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367623">(Oct 29 2019 at 19:54)</a>:</h4>
<p>basically we could add another case to <code>push_initial_strands_instantiated</code></p>



<a name="179367635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367635">(Oct 29 2019 at 19:54)</a>:</h4>
<p>that just adds 1 ambiguous strand for <code>CannotProve</code></p>



<a name="179367800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179367800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179367800">(Oct 29 2019 at 19:56)</a>:</h4>
<p>Sounds reasonable</p>



<a name="179368039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368039">(Oct 29 2019 at 19:59)</a>:</h4>
<p>Actually, just adding <code>ex_clause.ambiguous = true</code> to <code>simplify</code> and removing the <code>cannot_prove</code> goal makes all the tests pass except for the ones that are trying to test the negative cycle</p>



<a name="179368055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368055">(Oct 29 2019 at 19:59)</a>:</h4>
<p>(with that branch panicing)</p>



<a name="179368175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368175">(Oct 29 2019 at 20:00)</a>:</h4>
<p>err, not quite. <code>example_2_3_EWFS</code> also fails, which is not ambiguous</p>



<a name="179368317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368317">(Oct 29 2019 at 20:01)</a>:</h4>
<p>how does it fail?</p>



<a name="179368373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368373">(Oct 29 2019 at 20:02)</a>:</h4>
<p>oh, that's ok</p>



<a name="179368388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368388">(Oct 29 2019 at 20:02)</a>:</h4>
<p>I mean that is also testing negative cycles</p>



<a name="179368448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368448">(Oct 29 2019 at 20:03)</a>:</h4>
<p>via this rule:</p>
<div class="codehilite"><pre><span></span>X: W :- ..., not { Y: W }, ...
</pre></div>



<a name="179368459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368459">(Oct 29 2019 at 20:03)</a>:</h4>
<div class="codehilite"><pre><span></span>test::slg::contradiction
test::slg::example_2_3_EWFS
test::slg::example_3_3_EWFS
test::slg::negative_answer_ambiguous
test::slg::negative_loop
</pre></div>



<a name="179368473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368473">(Oct 29 2019 at 20:03)</a>:</h4>
<p>Those are the only tests that fail</p>



<a name="179368492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368492">(Oct 29 2019 at 20:03)</a>:</h4>
<p>yeah, I think those are all the tests that are specifically targeting negative cycles</p>



<a name="179368500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368500">(Oct 29 2019 at 20:03)</a>:</h4>
<p>Yep</p>



<a name="179368787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368787">(Oct 29 2019 at 20:06)</a>:</h4>
<p>So, rather than panic, should it just return an error?</p>



<a name="179368904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368904">(Oct 29 2019 at 20:08)</a>:</h4>
<p><code>RecursiveSearchFail::NegativeCycle</code>?</p>



<a name="179368921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368921">(Oct 29 2019 at 20:08)</a>:</h4>
<p>(does not exist atm)</p>



<a name="179368944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368944">(Oct 29 2019 at 20:08)</a>:</h4>
<p>Slightly different than <code>RecursiveSearchFail::Cycle(Minimums)</code></p>



<a name="179368982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179368982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179368982">(Oct 29 2019 at 20:09)</a>:</h4>
<p>which could be changed to <code>RecursiveSearchFail::PositiveCycle(Minimums)</code></p>



<a name="179370662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370662">(Oct 29 2019 at 20:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Ok, that works. I just added a new enum value <code>NegativeCycle</code> to <code>RecursiveSearchFail</code> <code>RootSearchFail</code> and <code>StrandFail</code> that when encountered fail immediately</p>



<a name="179370684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370684">(Oct 29 2019 at 20:28)</a>:</h4>
<p>This just gets changed into <code>None</code> for an answer</p>



<a name="179370697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370697">(Oct 29 2019 at 20:28)</a>:</h4>
<p>I forget what the semantics of <code>None</code> are</p>



<a name="179370700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370700">(Oct 29 2019 at 20:28)</a>:</h4>
<p>but that sounds plausible :)</p>



<a name="179370729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370729">(Oct 29 2019 at 20:29)</a>:</h4>
<p>the reason to panic is that we are supposed to not encounter negative cycles by construction</p>



<a name="179370738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370738">(Oct 29 2019 at 20:29)</a>:</h4>
<p>but I think propagating it out from the <em>core engine</em></p>



<a name="179370743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370743">(Oct 29 2019 at 20:29)</a>:</h4>
<p><code>Floundered</code> also returns <code>None</code></p>



<a name="179370748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370748">(Oct 29 2019 at 20:29)</a>:</h4>
<p>to a level more like <code>chalk-solve</code> seems good</p>



<a name="179370770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370770">(Oct 29 2019 at 20:29)</a>:</h4>
<p>yes, ok.</p>



<a name="179370782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370782">(Oct 29 2019 at 20:29)</a>:</h4>
<p>yeah, I figured propagating out makes more sense than panicing here</p>



<a name="179370786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370786">(Oct 29 2019 at 20:29)</a>:</h4>
<blockquote>
<p>to a level more like <code>chalk-solve</code> seems good</p>
</blockquote>
<p>in partcular, it's chalk-solve that would be maintaining this invariant</p>



<a name="179370855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370855">(Oct 29 2019 at 20:30)</a>:</h4>
<p>Hmm</p>



<a name="179370909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370909">(Oct 29 2019 at 20:30)</a>:</h4>
<p>Ok, so probably add another variant to <code>Solution</code>: <code>NegativeCycle</code>?</p>



<a name="179370913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370913">(Oct 29 2019 at 20:30)</a>:</h4>
<p>Or just panic</p>



<a name="179370954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370954">(Oct 29 2019 at 20:31)</a>:</h4>
<p>err</p>



<a name="179370991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179370991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179370991">(Oct 29 2019 at 20:31)</a>:</h4>
<p>By then, it's <code>Some(answer)</code> or <code>None</code></p>



<a name="179371263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371263">(Oct 29 2019 at 20:34)</a>:</h4>
<p>Alright so I was wrong. <code>Floundered</code> returns <code>Some(..)</code> with an ambiguous answer. <code>NoMoreSolutions</code> returns <code>None</code></p>



<a name="179371282"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371282" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371282">(Oct 29 2019 at 20:34)</a>:</h4>
<p>Ah, yeah, that's quite distinct :)</p>



<a name="179371309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371309">(Oct 29 2019 at 20:35)</a>:</h4>
<p>so I guess two options:</p>



<a name="179371339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371339">(Oct 29 2019 at 20:35)</a>:</h4>
<p>1) return <code>Some(Answer)</code> with no <code>substs</code> and <code>ambiguous: true</code></p>



<a name="179371344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371344">(Oct 29 2019 at 20:35)</a>:</h4>
<p>My main argument for panic <em>somewhere</em> (I'd have to go check in to the code to figure out just where) is that I would want to know if this is happening</p>



<a name="179371345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371345">(Oct 29 2019 at 20:35)</a>:</h4>
<p>and not have it get hidden</p>



<a name="179371402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371402">(Oct 29 2019 at 20:36)</a>:</h4>
<p>2) Change <code>AnswerStream</code> to return either <code>Result&lt;Option&lt;Answer&gt;, ..&gt;</code></p>



<a name="179371408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371408">(Oct 29 2019 at 20:36)</a>:</h4>
<p>or I guess 3)</p>



<a name="179371414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371414">(Oct 29 2019 at 20:36)</a>:</h4>
<p>panic in <code>AnswerStream</code></p>



<a name="179371620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371620">(Oct 29 2019 at 20:39)</a>:</h4>
<p>I think for the sake of simplicity now, I'll just panic in <code>AnswerStream</code> for now. If someone specifically needs to catch that outside of <code>engine</code>, then more edits to <code>AnswerStream</code> will need to be made</p>



<a name="179371631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371631">(Oct 29 2019 at 20:39)</a>:</h4>
<p>Does that work?</p>



<a name="179371653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179371653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179371653">(Oct 29 2019 at 20:39)</a>:</h4>
<p>Yep</p>



<a name="179372857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179372857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179372857">(Oct 29 2019 at 20:50)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Ok I updated the PR</p>



<a name="179372888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179372888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179372888">(Oct 29 2019 at 20:51)</a>:</h4>
<p>nice</p>



<a name="179372890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179372890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179372890">(Oct 29 2019 at 20:51)</a>:</h4>
<p>I kept the negative cycle tests but just marked them as <code>#[should_panic]</code></p>



<a name="179372902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179372902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179372902">(Oct 29 2019 at 20:51)</a>:</h4>
<p>perfect, thanks!</p>



<a name="179372908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179372908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179372908">(Oct 29 2019 at 20:51)</a>:</h4>
<p>maybe with a comment :)</p>



<a name="179373019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179373019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179373019">(Oct 29 2019 at 20:52)</a>:</h4>
<p>I did add a comment in the <code>goal</code> block for each test</p>



<a name="179373041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179373041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179373041">(Oct 29 2019 at 20:52)</a>:</h4>
<p>I could add/move those to the function doc comments if you want</p>



<a name="179373415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179373415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179373415">(Oct 29 2019 at 20:56)</a>:</h4>
<p>left a quick review</p>



<a name="179373433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179373433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179373433">(Oct 29 2019 at 20:57)</a>:</h4>
<p>with <a href="https://github.com/rust-lang/chalk/pull/270#pullrequestreview-308826510" target="_blank" title="https://github.com/rust-lang/chalk/pull/270#pullrequestreview-308826510">various suggestions</a></p>



<a name="179373754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179373754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179373754">(Oct 29 2019 at 21:00)</a>:</h4>
<p>Updated :)</p>



<a name="179373784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179373784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179373784">(Oct 29 2019 at 21:00)</a>:</h4>
<p>Also added the panic case to the <code>peek_answer</code> and <code>force_answers</code> doc</p>



<a name="179374187"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374187" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374187">(Oct 29 2019 at 21:05)</a>:</h4>
<p>nice</p>



<a name="179374518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374518">(Oct 29 2019 at 21:08)</a>:</h4>
<p>merged</p>



<a name="179374582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374582">(Oct 29 2019 at 21:09)</a>:</h4>
<p>Awesome</p>



<a name="179374599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374599">(Oct 29 2019 at 21:09)</a>:</h4>
<p>I'm curious if you're interested in taking on the follow-up work around making coinduction sound :)</p>



<a name="179374653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374653">(Oct 29 2019 at 21:10)</a>:</h4>
<p>(which sort of involves re-introducing delayed literals, but in a different form)</p>



<a name="179374666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374666">(Oct 29 2019 at 21:10)</a>:</h4>
<p><a href="https://github.com/rust-lang/chalk/issues/248" target="_blank" title="https://github.com/rust-lang/chalk/issues/248">https://github.com/rust-lang/chalk/issues/248</a></p>



<a name="179374673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374673">(Oct 29 2019 at 21:10)</a>:</h4>
<p>I am curious, yes</p>



<a name="179374681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374681">(Oct 29 2019 at 21:10)</a>:</h4>
<p>and interested</p>



<a name="179374701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374701">(Oct 29 2019 at 21:10)</a>:</h4>
<p>I'll try to take a look at it sometime this week</p>



<a name="179374862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374862">(Oct 29 2019 at 21:12)</a>:</h4>
<p>Do you have an idea of how to solve this?</p>



<a name="179374872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179374872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179374872">(Oct 29 2019 at 21:12)</a>:</h4>
<p>If not, it's fine. Just curious if you do</p>



<a name="179380337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179380337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179380337">(Oct 29 2019 at 22:14)</a>:</h4>
<p>I do</p>



<a name="179381349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179381349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179381349">(Oct 29 2019 at 22:25)</a>:</h4>
<p>Would love to hear your thoughts before I start</p>



<a name="179396587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Removing%20delayed%20literals/near/179396587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Removing.20delayed.20literals.html#179396587">(Oct 30 2019 at 02:09)</a>:</h4>
<p>So while I've been sort of wrapping my head more around the cycles code, I realized that my rename from <code>StrandFail::Cycle</code> -&gt; <code>StrandFail::PositiveCycle</code> isn't exactly accurate.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>